package 剑指offer;

import java.util.Scanner;

/**
 * 
 * @author ：soulstones
 * @version ：2019年9月30日 下午10:00:34 @Description：
 * 
 *          求1+2+3+...+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
 */
public class A47计算n累加 {

	//数学公式  （a1+an)*n/2
	public static int Sum_Solution(int n) {
		return (1+n)*n/2;
	}
	
	/*
	 * 这是一个等差数列，sum=(a1+an)n/2=>
	 * (1+n)n/2=>(n+n^2)/2；
	 * Math.pow(a,b)表示a^b；右移一位相当于除以2。
	 */
	public static int Sum_Solution11(int n) {
		int sum=(int)Math.pow(n, 2)+n;
		return sum>>1;
	}

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		System.out.println(Sum_Solution(n));
		System.out.println(Sum_Solution11(n));
	}
}
